home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Games Collection 1 / software vault.zip / software vault / CDR10 / MAPEDIT.ZIP / MOUSE.C < prev    next >
C/C++ Source or Header  |  1992-09-17  |  2KB  |  97 lines

  1. #include <dos.h>
  2.  
  3.  
  4. int mousebuttons()                    /* see if mouse buttons are pressed */
  5. {
  6.     union REGS inregs;
  7.     union REGS outregs;
  8.     inregs.x.ax = 6;
  9.     int86(0x33,&inregs,&outregs);
  10.     return(outregs.x.ax );
  11. }
  12.  
  13. int mousecheck()                      /* see if mouse exists, & # of buttons */
  14. {
  15.     union REGS inregs;
  16.     union REGS outregs;
  17.     inregs.x.ax = 0;
  18.     int86(0x33,&inregs,&outregs);
  19.     return(outregs.x.ax ? outregs.x.bx : 0);
  20. }
  21.  
  22. int mouseclick()                      /* see if mouse buttons were clicked */
  23. {
  24.     int click = 0;
  25.     union REGS inregs;
  26.     union REGS outregs;
  27.     inregs.x.ax = 5;
  28.     inregs.x.bx = 1;
  29.     int86(0x33,&inregs,&outregs);
  30.     click = outregs.x.bx << 1;
  31.     inregs.x.bx--;
  32.     int86(0x33,&inregs,&outregs);
  33.     return(click | outregs.x.bx);
  34. }
  35.  
  36. int mousecol()                        /* get column where mouse cursor is */
  37. {
  38.     union REGS inregs;
  39.     union REGS outregs;
  40.     inregs.x.ax = 3;
  41.     int86(0x33,&inregs,&outregs);
  42.     return(outregs.x.cx>>1);
  43. }
  44.  
  45. void mousecursor(toggle)              /* turn mouse cursor on or off */
  46. int toggle;
  47. {
  48.     union REGS inregs;
  49.     union REGS outregs;
  50.     if (toggle) inregs.x.ax = 1;
  51.     else inregs.x.ax = 2;
  52.     int86(0x33,&inregs,&outregs);
  53. }
  54.  
  55. void mouseloc(column,row)             /* set location of mouse cursor */
  56. int column, row;
  57. {
  58.     union REGS inregs;
  59.     union REGS outregs;
  60.     inregs.x.ax = 4;
  61.     inregs.x.cx =  row<<1;
  62.     inregs.x.dx =  column;
  63.     int86(0x33,&inregs,&outregs);
  64. }
  65.  
  66. int mouserow()                        /* get row where mouse cursor is */
  67. {
  68.     union REGS inregs;
  69.     union REGS outregs;
  70.     inregs.x.ax = 3;
  71.     int86(0x33,&inregs,&outregs);
  72.     return(outregs.x.dx);
  73. }
  74.  
  75. char mousemove()
  76. {
  77.     static int _m_row=0,_m_col=0;
  78.  
  79.     if(mouserow()==_m_row && mousecol()==_m_col)
  80.         return(0);
  81.     else
  82.         _m_row=mouserow();
  83.     _m_col=mousecol();
  84.     return(1);
  85. }
  86.  
  87. setrow(int row)
  88. {
  89.     union REGS inregs;
  90.     union REGS outregs;
  91.     inregs.x.ax = 4;
  92.     inregs.x.cx = mousecol()<<1;
  93.     inregs.x.dx = row;
  94.     int86(0x33,&inregs,&outregs);
  95. }
  96.  
  97.